package com.finger.crowd.util;




import javax.servlet.http.HttpServletRequest;


public class CrowdUtils {

//    public static ResultEntity sendMessage(
//            String phoneNum
//    ) {
//        String host = "https://cxkjsms.market.alicloudapi.com";
//        String path = "/chuangxinsms/dxjk";
//        String method = "POST";
//        String appcode = "96da0e3797cf4d3a9c5053a401be5797";//开通服务后 买家中心-查看AppCode
//        Map<String, String> headers = new HashMap<String, String>();
//        //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
//        headers.put("Authorization", "APPCODE " + appcode);
//        Map<String, String> querys = new HashMap<String, String>();
//        querys.put("content", "【创信】你的验证码是：5873，3分钟内有效！");
//        querys.put("mobile", "19838126084");
//        Map<String, String> bodys = new HashMap<String, String>();
//        try {
//            /**
//             * 重要提示如下:
//             * HttpUtils请从
//             * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
//             * 下载
//             *
//             * 相应的依赖请参照
//             * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
//             */
//            HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
//            HttpEntity entity = response.getEntity();
//            StatusLine statusLine = response.getStatusLine();
//            String reasonPhrase = statusLine.getReasonPhrase();
//            int statusCode = statusLine.getStatusCode();
//            if (statusCode == 200) {
//                return ResultEntity.successWithOutData();
//            } else {
//                return ResultEntity.failed(reasonPhrase);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            return ResultEntity.failed(e.getMessage());
//        }
//    }

//    public static String md5(String source) {
//        // 判断传进来的资源是否为空
//        if (source == null || source.length() == 0) {
//            // 字符串为空抛出异常
//            throw new RuntimeException(CrowdConstant.MESSAGE_STRING_INVALIDATE);
//        }
//        try {
//            String algorithm = "md5";
//
//            MessageDigest instance = MessageDigest.getInstance(algorithm);
//
//            byte[] input = source.getBytes();
//
//            byte[] digest = instance.digest(input);
//
//            int signum = 1;
//
//            BigInteger bigInteger = new BigInteger(signum, digest);
//
//            int radix = 16;
//            // 按照16进制进行编码
//            String encoded = bigInteger.toString(16).toUpperCase();
//
//            return encoded;
//        } catch (NoSuchAlgorithmException e) {
//            e.printStackTrace();
//        }
//
//        return null;
//    }

    /**
     * 判断请求是否时json请求
     *
     * @param req
     * @return true：当前请求是json请求
     * false；当前请求不是json请求
     */
    public static boolean judgeRequestType(HttpServletRequest req) {
        String accept = req.getHeader("Accept");
        String x = req.getHeader("X-Requested-With");
        return (accept != null && accept.contains("application/json")
                ||
                x != null && x.equals("XMLHttpRequest")
        );
    }




//    public static ResultEntity<String> uploadFileToOss(
//            String endpoint,
//            String accessKeyId,
//            String accessKeySecret,
//            InputStream inputStream,
//            String bucketName,
//            String bucketDomain,
//            String originalName) {
//        // 创建 OSSClient 实例。
//        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//
//        // 生成上传文件的目录
//        String folderName = new SimpleDateFormat("yyyyMMdd").format(new Date());
//
//        // 生成上传文件在 OSS 服务器上保存时的文件名
//        // 原始文件名：beautfulgirl.jpg
//        // 生成文件名：wer234234efwer235346457dfswet346235.jpg
//        // 使用 UUID 生成文件主体名称
//        String fileMainName = UUID.randomUUID().toString().replace("-", "");
//
//        // 从原始文件名中获取文件扩展名
//        String extensionName = originalName.substring(originalName.lastIndexOf("."));
//
//        // 使用目录、文件主体名称、文件扩展名称拼接得到对象名称
//        String objectName = folderName + "/" + fileMainName + extensionName;
//
//        try {
//            // 调用 OSS 客户端对象的方法上传文件并获取响应结果数据
//            PutObjectResult putObjectResult = ossClient.putObject(bucketName, objectName,
//                    inputStream);
//
//            // 从响应结果中获取具体响应消息
//            ResponseMessage responseMessage = putObjectResult.getResponse();
//
//            // 根据响应状态码判断请求是否成功
//            if (responseMessage == null) {
//
//                // 拼接访问刚刚上传的文件的路径
//                String ossFileAccessPath = bucketDomain + "/" + objectName;
//
//                // 当前方法返回成功
//                return ResultEntity.successWithData(ossFileAccessPath);
//
//            } else {
//
//                // 获取响应状态码
//                int statusCode = responseMessage.getStatusCode();
//
//                // 如果请求没有成功，获取错误消息
//                String errorMessage = responseMessage.getErrorResponseAsString();
//
//                // 当前方法返回失败
//                return ResultEntity.failed(" 当 前 响 应 状 态 码 =" + statusCode + " 错 误 消 息 = " + errorMessage);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            // 当前方法返回失败
//            return ResultEntity.failed(e.getMessage());
//        } finally {
//            if (ossClient != null) {
//                // 关闭 OSSClient。
//                ossClient.shutdown();
//            }
//        }
//    }
}

